home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
bbs
/
isbull.zip
/
ISBULL.DOC
next >
Wrap
Text File
|
1993-01-04
|
21KB
|
425 lines
┌──────────────────────────────────────────────────────────────────────────┐
│ Is That a Bulletin Manager? │
│ A News/Bulletin Management System for TBBS 2.2 and TDBS 1.2.4 │
│ │
│ By Christopher Blaise, January 1993 - Version v1.3 │
│ This program is Shareware │
└──────────────────────────────────────────────────────────────────────────┘
(Note: Paragraphs denoted by an asterick (*) detail either a documentation
change from v1.2 or 1.3 feature)
Don't you just hate taking the type to write and format your
SIGNON2.TXT news file to inform them that the system hasn't been receiving
echomail for 3 days now, THEN get a message from a user asking "Where's the
new echomail?"
Or isn't it a pain to maintain a bulletin area? You either have
to create a menu to store them all, or use the TBBS Type 3 command, or
something like that. Any way, it's hard to remember filenames to update
them or add new/delete old entries.
Or your D&D Sysop needs a place for his/her bulletins. Same problem
as above, but you have to spend more time listening to the SigOp, making
the changes they need for a successful campaign ("No, no, the entry title
should be "Ghosts & Goblins, not GOATS & Goblins!").
Or perhaps you want to attach a file to the bulletin. Wouldn't it
be nice to give the user the option of downloading it after they've read
the bulletin? Or what about downloading the bulletin itself?
Whatever your bulletin problem is, here's a solution: Is That
a Bulletin Manager? It functions as a SIGNON2.TXT replacement program
and a general purpose bulletin manager. You can also configure it so that
your SigOps can only edit their bulletin files.
┌────────────┐
│HOW IT WORKS│
└────────────┘
As a regular bulletin program, it works as an easy organizer
to show your bulletins, and to let your users know which ones
they've read. As a logon bulletin program, it allows you to force
users to read your logon bulletins. In the logon bulletin setting you
may define the how many times a user "skips" bulletins, or chooses to not
read new bulletins. If their maximium skips for any bulletin is reached,
they are forced to read that bulletin or bulletins. If they have already
read the bulletin, the skip value is ignored. For example, you set the
system skip rate to 3 times. The user reads the bulletin on his first
or second logon. On the third time, they will not have to read the bulletin
because they have read it already. Additionally, if they have
read all bulletins in the logon setting, the program will simply quit
without even prompting them to read already-read bulletins.
Here's the display format:
<title>
───────────────────────────────────────────────────────────────────────────
Bulletins You Have Already Read Have A Slash (/) Before Them
^
\--Will be a √ if in ANSI mode
/ <A> <headline 1> (<date 1>)
<B> <headline 2> (<date 2>)
───────────────────────────────────────────────────────────────────────────
You Must Read All Bulletins!
Read Which Bulletin (A-B or <Enter/Return> to Quit):
An Example would look like:
Wintermute Bulletins
───────────────────────────────────────────────────────────────────────────
Bulletins You Have Already Read Have A Slash (√) Before Them
<A> New Menu Changes! Important! (01/12/92)
√ <B> Have You Changed Your Password Lately? (01/12/92)
───────────────────────────────────────────────────────────────────────────
You Must Read All Bulletins!
Read Which Bulletin (A-B or <Enter/Return> to Quit):
As if you couldn't tell from the key entries, there is a limit
of 26 bulletins in any given database (A-Z).
* When I originally wrote the program, I wanted to provide the
"look-feel" to my users that would be framiliar as the rest of the TBBS
system. For that reason, from it's beginning, I have concentrated EXCLUSIVELY
on the bulletins being TEXT FILES displayed with the TBBS TYPE 1 command
just for those two simple <P>ause and <S>top functions.
* The reason for that little background is to stress that while this
program supports the use of memo fields, THEY ARE NOT RECOMMENDED for the
simple reason that they are fairly difficult to manipulate and thus
the above TBBS TYPE 1 command "feel" can not be (reasonably) implemented
using them. Their support stems from the need to use the memo field
full screen editor to read and write the text bulletins online. I added
the support primarily because it was fairly easy to do so, but there are
absolutely no frills included. They can be used as a "troubleshooting"
method - if the text bulletin file doesn't exist, the memo will be displayed
as the bulletin. In short - You can use them. They work without what I
consider the "proper" pausing and stopping routines. I don't recommend
using them.
┌───────────────────────────────────┐
│INSTALLING - THE MAINTENANCE MODULE│
└───────────────────────────────────┘
The first entry you'll want is the maintenance module. To
activate it, create a TBBS menu entry like:
Entry:
[B] Is That a Bulletin Manager?
KEY=B TYPE=200 OPT DATA=ISBULL.TPG/Q &M
NOTE THE PLACEMENT OF THE /Q! It must be added directly after the
.TPG name, if the switch is used. Also be aware that the Maintenance Module
works with ANSI only.
You can also have the maintenance portion use a single database
for delegation to SIGOPS, such as:
Entry:
[D] D&D Bulletins Maintenance
KEY=D TYPE=200 OPT DATA=ISBULL.TPG/Q &M.DND
If the database does not exist, then it will automaticly be created!
Additionally, there is an option for allowing the SigOp to edit the
Configuration section or not. This accomplished with the "P=xxx" directive
to determine the lowest possible privelege level to edit with in the
OPT DATA field such as:
Entry:
[D] D&D Bulletins Maintenance
KEY=D TYPE=200 OPT DATA=ISBULL.TPG/Q &M.DND P=255
While using as a logon bulletin replacement that only you as the
SysOp will be editing, it probably won't be of much value, it probably
will to the SigOp who may decide to change the default path to
C:\TBBS! This option also prevents the SigOp from adding their own path
in the Bulletin Text field (see below). Anyone with a privelege over
this level can though.
┌──────────────────────────────┐
│RUNNING THE MAINTENANCE MODULE│
└──────────────────────────────┘
When you first enter the maintenance module, you will be prompted
for a filename. This is a 1-8 character DOS filename with NO extention.
If you enter nothing, the program quits. If you enter a filename,
ISBULL will notify you whether the file exists or not and if it doesn't,
if you wish to create it. If you say "Yes", then the following files will
be created:
????????.BUL - Bulletin Information
????????.CFG - Bulletin Configuration
????????.USR - User Records
????????.NDX - Index of the User Records
????????.CLR - Color Information
* ????????.LNG - Text Information. This file will automaticly be
created if you're upgrading from ISBULL 1.2.
You will now be in the configuration menu. The screen should be
pretty self explanitory, but here's a short description of each field:
Bulletin Information:
Bulletin # - The number of the bulletin
Date - Date that bulletin was last updated. You do have the option
to change this to a different date.
Headline - Title of the bulletin that the user will see on the
bulletin screen.
Bulletin Text - <d:><path>filename.txt. Actual text of bulletin
in a text file. If the path is not given, then
the Path (defined below) is added onto the
beginning of the filename.
* Attach This Text - Should the user be allowed to download this text
file? THIS WILL NOT WORK IF YOU'RE USING THE
MEMO FIELD OPTION.
* Attached File - <d:><path>filename.txt. File to download as a
file attach. This could be any downloadable
file.
Configuration Information:
Path - The default path where your bulletins will be located.
* Country - The format that the date should be displayed in:
1 - USA
2 - European
3 - Japanese
Skips - Amount of times, in a Logon-type setting that a user may
skip the reading of any/all bulletins. A 0 means that
they cannot procede without reading all of the bulletins
(or new bulletins)
Use Editor - Should you allow the use of the TDBS memo editor as
a method of editing either the memo field or the
text file via the ^R(ead) and ^W(rite) commands?
* Protect Read Path - Do you want to limit yourself or your sigops to
reading files ONLY in the HOMEPATH (the directory
that you ran ISBULL from)?
* Protect Write Path - Do you want to limit yourself or your sigops to
writing files ONLY to the HOMEPATH (the directory
that you ran ISBULL from)?
Note: There IS a difference between the Default Path and the HOMEPATH.
The Default Path can be any path on your system. The HOMEPATH
is SPECIFICLY defined by TDBS to be the directory that you
are running ISBULL from in your OPT DATA field. If your OPT DATA
field is C:\TDBS\ISBULL and your Default Path is defined as
C:\TDBS\ISBULL\SIGNON, the abovementioned Protects will only
allow read/writing to/from C:\TDBS\ISBULL.
The Menu should also be clear, but here are the details:
<Left/Right Arrows> - Go to the previous or next record.
<Up/Down Arrows> - Edit the Bulletin Information section. Allows
you to change the Headline, Date, and Text fields.
<A> Add a Record - Add a New record with blank fields.
<D> Delete Current Record - Mark/Unmark this record for deletion.
Any records marked for deletion will be purged from the database
upon quitting the maintenance module.
* <U> Upload/Edit Bulletin - Upload the text for this current bulletin
or edit it via the TDBS memo editor. Uploading uses the TBBS TYPE
30 command and forces the filename from the Bulletin Text field.
Editing uses the TDBS memo editor to edit either the memo field or
read/write the text file.
<C> Clear User's Read Flags - In actuality, it will delete the
????????.USR and ????????.NDX files and re-create them.
<F> Edit a User's Flags - This will create another area below
Configuration Information section. You will be asked for
the user's name. If it is not found, the area will clear.
If found, that user's bulletin and skip settings will be
displayed and you will be able to edit them.
<I> Edit the configuration Information - Edit the Title, Skips & Path
fields.
* <O> Change Colors. Modify any color in the bulletin or configuration
module. Both SysOps and SigOps can change these colors.
This module should be pretty much self explanitory, but here's how
the color choosing works:
╔══════════════════════════════════════════════════════════════════╗
║1║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║2║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║3║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║4║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║5║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║6║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║7║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║8║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
║9║ 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132║
╚══════════════════════════════════════════════════════════════════╝
^ \ _____________________________/\ _____________________________/
| ^ ^
| \ Foreground Colors (Normal) \ Foreground Colors (Blinking)
|
\ Background Colors
* <L> Edit Text - Edit any text string for the bulletin module.
(see section on editing these strings below)
<Q> Quit & Clean Up - This will purge any deleted files from the
????????.BUL file and update pointers for newly added bulletins.
┌───────────────────────┐
│LANGUAGE CONSIDERATIONS│
└───────────────────────┘
All text should be self-explanitory. There are, however, two main
items to keep in mind when editing the language files.
The first is the parameters. There are only two places these
are used - the Notify and "Which Bulletin..." texts. Like the parameters
in EDLANG, they are in the %n format. Since each of these only use one,
they are %1 and %1 in each string. In Notify, it's the placement of
the "checkmark" and in "Which bulletin...", it's where the alphabetic
bulletin range is placed (ie. A-B, A-F, etc.). IT IS IMPORTANT THAT YOU
CORRECTLY KEEP/PLACE THESE PARAMETERS IN THE STRINGS. DON'T LEAVE THEM
OUT.
The other is the use of brackets. The quick rule of thumb is this:
the default bracket set is '<' and '>'. ANYWHERE else in the language file
where these initially show up this is what they will be and you CANNOT use
these brackets for any other purpose. For example, on the "Which bulletin..."
string:
Read Which Bulletin (%1 or <Enter/Return> to Quit)
There are two sets of brackets you may wish to use, either the '<', '>' set
or '(',')' (or any variations thereof). If you wish to change to the
'(', ')' method, you must change the string to accurately reflect this:
Read Which Bulletin <%1 or (Enter/Return) to Quit>
^ ^
\────────────────────────────/
Where the two brackets pointed to can really be anything BUT the '(' and ')'
characters. The reason is that anything in the language defined "bracket"
characters tells ISBULL to put them into the Keys (see the Colors screen)
color. Also remember to change the brackets for the other strings
such as the File Attach and Bulletin Download strings.
If you don't follow the above instructions, at worst you're going to
have a very messy looking program. If you've tried to work with it and
have really messed the whole thing up, simply delete the ????????.LNG file
as ISBULL will automaticly create it to it's original state.
As you will notice, you are only able to edit the bulletin module text
- there is no support for editing the configuration text. The reasons for
this are a) I see it more important for you to alter the portion of the
program that is going to affect how your system looks b) Much of the
configuration module is based on how things are placed in that limited
80x24 dimensions - there isn't any easy room for custom "configuration text".
As you've noticed, however, I did think it was realitively simple to allow
you to change the configuration colors.
┌───────────────────────────────┐
│INSTALLING THE USER-END-MODULES│
└───────────────────────────────┘
To install as a logon-type bulletin manager, use the following
format:
Entry:
KEY=^@ TYPE=200 OPT DATA=ISBULL.TPG/Q &L.<bulletin name>
My technique: I use 2 main menus. MENU0000.CTL is more of a "switch-board"
menu for tossing people into respective areas based on their access
(ie. New users goto the new user menu, regulars go to the top menu).
Here is an SDL example of how I handle this, so that everytime users goto
the main menu, they won't get the program:
MENU:0000
Entry:
KEY=^@ TYPE=200 OPT DATA=ISBULL.TPG/Q &L.signon
ENTRY:
KEY=^@ TYPE=35 OPT DATA=TOP
ENDMENU:
As you see, this example uses the nifty new TBBS 2.2 type 35 command to
make MENUTOP.CTL the top menu for the duration of the call.
To install as a regular bulletin manager is easier. Just make
an entry in the following format:
Entry:
KEY=^@ TYPE=200 OPT DATA=ISBULL.TPG/Q &B.<bulletin name>
Practical useage could look like:
Entry:
[B] General Bulletins
KEY=B TYPE=200 OPT DATA=ISBULL.TPG/Q &B.bulls
Entry:
[N] Re-Read Logon Bulletins
KEY=B TYPE=200 OPT DATA=ISBULL.TPG/Q &B.signon
NOTE: If you use the logon bulletin in this way, that is, as a logon
bulletin AND a regular bulletin, the reader will not have to read
the bulletin at logon if they have read it in the above section.
┌────────────────────────┐
│DISCLAIMER/CODE OF HONOR│
└────────────────────────┘
As ever a software author, here it is:
DISCLAIMER: I, Christopher Blaise will take NO responsibility for any
losses, mistakes, or otherwise errors you may incur from using
this program.
As a TDBS author:
I DID NOT program any 'hooks' or 'barbs' into this software that would
intentionally compromise the integrity of your system (or mine!)
I HAVE TRIED to make sure that this piece of software is not only
bullet-proof, but also easy for you the Sysop to setup and maintain,
and for your users to use.
I WILL TRY to fix any problems or errors brought to my attention. Feature
requests are *always* welcome and listened to, but it doesn't
necessarily mean I'll implement them.
┌────────────┐
│REGISTRATION│
└────────────┘
If you like this program, please register it. The cost is $10.
That's right...no missing '0's. Ten bucks. The price of a relatively
inexpensive dinner, or a box of diskettes. Part of my rational for this price
is based on the features which are powerful yet help you make this program
suitable for retaining your system's unique look and feel. I honestly think
it's a well written piece of work. The other part of my program price
basis is simple - would I pay this much for this program as a consumer?
I would - I think this is great deal, and hope you do too! Please send your
check for $10 to:
US Snail: Christopher Blaise
RR 1 Box 2540
Hinesburg,VT 05461
Please be sure to add either an address, or perferably a Fidonet or
Internet address. All registered users will be notified by either electronic
mail or U.S. snail mail for a place to pick up the latest version, either by
FREQ or calling the BBS. The location will either be Wintermute.
┌─────────────┐
│CONTACTING ME│
└─────────────┘
If you'd like to drop me a line with errors, problems, or just
to let me know what you think of this program in general, I'd love to hear
from ya! In addition to the above address, I can be reached at:
Fidonet: CHRISTOPHER BLAISE on 1:325/110 Wintermute HUB
Internet: Christopher.Blaise@moose.uvm.edu
┌─────────────────────────┐
│OTHER NICE PIECES OF WORK│
└─────────────────────────┘
I also have some other programs if you're interested:
ISPROB.TPG - .DBF "prober". Allows you to look around, edit, make
indexes, etc. on an existing dBASE III+ type .DBF file.
LOCATE.TPG - Location Changing program for users. Cheap n' easy
programming job but the users *love* it!
┌────┐
│BYE!│
└────┘
See ya!
TTYL
Chris